-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Spack docker containers #261
base: master
Are you sure you want to change the base?
Conversation
* Spack work. * Working with existing LLNL host configs. * SuiteSparse on Lassen progress. * Trilinos working on Lassen. * HYPRE finally working. * Trilinos MKL TPL * Fixed CHAI version. * Initial commit MacOS spack support * Travis host configs. * Expanded VTK libraries. Co-authored-by: Herve Gross <[email protected]>
* Add current GEOSX compilers to spack. * Added python interface. * Removed static variables. * Python improvements. * Removed std::string. Co-authored-by: Randolph R. Settgast <[email protected]>
* Changes to Group and Wrapper to favor references. * Added exceptions to harden the Python interface. * Added a Spack and Uberenv guide. * Changed getConstitutiveRelation and getConstitutiveManager. * Changed getMeshBodies, getMeshBody and getMeshLevel. * Changed getDomainPartition * Changed getRegion and getSubRegion. * Prevent MPI_Init from being called twice, (occurs with pygeosx). * Changed getConstitutiveModel(s). * Removing unnecessary uses of getGroupPointer. * Changed Group::getParent and Wrapper constructor. * Removed function input paths from restart.
* added option to specify inner radius of cartesian mapping * fix error in silo output * modifications to wellbore parallel mesh gen + addNeighbor changes to allow ranks to be mutual periodic neighbors (doubly-neighbored) * add hard coded coordinatese in the radial direction * bugfix for integer overflow with hypre int * fixes for mgr on gpu * - Add additional instrumentation for using MGR (make restrictor, compute Auu) - Update hypre linear algebra interface to the latest hypre/mgr - Update MGR recipes for GPU * modified LAIHelperFunctions::separateComponentFilter to batch insert rows. Introduced MatrixBase::separateComponentFilter as a specialized filter, implemented HypreMatrix::separateComponentFilter. * some cleanup for HypreMatrix::separateComponentFilter Co-authored-by: Sy-Tuan Nguyen <[email protected]> * implement single read variant of HypreMatrix::separateComponentFilter * Use full matrix instead of SDC approximation for mechanics in hydrofrac solver. Fix bug in setting options for mechanics block solver. * Changes to run on Summit. (#1546) Co-authored-by: Randolph R. Settgast <[email protected]> * fix bug from summit update * fix bug in SinglePhasePoromechanicsSolver::implicitStepComplete * resolve host-device ghost index array inconsistency * added annulus option to cylinder geometry. added error check for aperature table * Changes for new compilers on summit/lassen (#1611) * Updated hypre. * Force uberenv to use python3. * Added CUDA 11.0.3 on Summit. * Added GCC 9.1.0 to Summit * Added GCC 9.1.0 to Summit * Changes to work with GCC 9.1.0 on Summit. Co-authored-by: Benjamin Curtice Corbett <[email protected]> * Updating function parCSRtoIJ required by latest hypre version Co-authored-by: wrtobin <[email protected]> Co-authored-by: Quan Bui <[email protected]> Co-authored-by: Sy-Tuan Nguyen <[email protected]> Co-authored-by: Ben Corbett <[email protected]> Co-authored-by: Benjamin Curtice Corbett <[email protected]> Co-authored-by: Nicola Castelletto <[email protected]>
Enabling yapf formatting of python files
This patch aims at shrinking `GEOSX` into `GEOS`. - The `geosx` namespace is renamed `geos`. - All the `GEOSX_ASSERT`, `GEOSX_LOG`, … are renamed `GEOS_…` - All the include guards are modified. - All the paths to the old `http://gihub.com/GEOSX/GEOSX` are renamed appropriately - Mention to `GEOSX` in the text of the documentation is changed to `GEOS` Meanwhile, `GEOSX` is kept for the following cases - The executable is still named `geosx`, the examples in the doc still reflect the current naming. - All the tools named after `geosx` kept their `geosx` (_e.g._ `pygeox`, `geosx_xml_tools`) - All the `cmake` configuration flags (_e.g._ `GEOSX_TPL_DIR`, `GEOSX_USE_CUDA`) are unchanged. - The `host-config` files are not changed. - The variables names, classes or files containing `GEOSX` are not modified.
* Add geos-specific option to suppress/enable unit tests, active by default.
* Add mesa to packages.yaml, vtk issues * modify, add fmt recipe * remove cxx flags from blueos (consistent with RADIUSS and Axom) * Add specific uncrustify version, remove optimization flags from toss3 * Move spack configs and package recipes to separate folders; delete uberenv directory * Add uberenv as a submodule. Add uberenv config file * Bump conduit, add libtools external package * Bill's Conduit/HDF5 changes + switcharoo, try building latest pugixml * Add vtk patches + Try replace hypre-cuda with +hypre+cuda and caliper variant changes * Add camp dependency for RAJA path * make suite-sparse mandatory (spack is not always adding it to spec otherwise) * Change clang@upstream for blueos to clang@9 so clingo doesn't yell * gmpr fix * Use more accurate caliper version and correct readline version * Cleanup vtk script, vtk now builds on lassen * Update to spack 0.18.0 * Update hypre/silo/hdf5/conduit and use older trilinos recipe * Can build all blueos libraries - compilation errors - use netlib-lapack instead of essl * first pass at spack environments * Add spack.yaml for lassen; modify spack.yaml install_tree path to blueos_3_ppc64le_ib_p9_package * Generalize HDF5 and pugixml configuration so both thirdPartyLibs and spack builds work * Update umpire/raja/chai/hypre - only quartz re-tested so far * blueos config - set CUDA 11 as default * Cuda 11 explicit spec * Update CMake version; add gcc-toolchain flag for quartz * Update caliper, adiak, trilinos, cmake requirement, camp version in spack recipe * Update adiak namespace * Add cxx flags (std:: errors), disable hwloc dependency (runtime MPI error) for trilinos recipe * Guard adiak or adiak::adiak target * Add FESAPI spack recipe * pugixml and fmt changes for toss 3 quartz * Update CUDA to 11.2.2, update hypre, add -fPIC flag for hypre~shared, add missing libcublasLt path * use intel-oneapi-mkl instead of intel-mkl; use magic mvapich2; use mpi fortran in superlu-dist; disable fesapi default; update hypre; update cmake * Update CMake to 3.26.3; CMake fortran/CXX error with 3.23.1 * Missing fmt dependency * Upgrade to uberenv spack environments - update uberenv submodule, move to spack.yaml config files, comment out unused recipe patches * Move pygeosx dependencies to a separate spack recipe; update to latest spack release; use older hdf5 recipe; small trilinos change due to spack cmakepackage reorg; add spack environment files for pygeosx; adjust spec check for HYPRE cuda/hip enabled; add project json file for uberenv to build pygeosx; delete old python spec files * Mandate CMake >=3.23 * Spack environment file for toss 3 (rzgenie) * Remove cp unused * Omit uberenv from submodule check * Lock blt version to bypass raja/chai/camp blt::stub error * Make python required dependency; make pygeosx variant toggle * Generate separate host-config for LvArray * Update hypre and umpire versions, Remove some package recipes using git version specifiers where possible
eacee9e
to
0351bac
Compare
f2f12a7
to
63a6bf4
Compare
cf21c84
to
86c3bf1
Compare
86c3bf1
to
d76e3f6
Compare
b16e454
to
e16079f
Compare
… python3 using Linux package manager > spack
e16079f
to
d995c0d
Compare
…ls to configure with CMake; add -fPIC fortran flag to some dependencies
# Create symlink to openmpi include directory | ||
ln -s /usr/include/openmpi-x86_64 /usr/lib64/openmpi/include && \ | ||
./scripts/uberenv/uberenv.py \ | ||
--spec "%gcc@8+cuda~uncrustify~openmp~pygeosx cuda_arch=70 ^[email protected]+allow-unsupported-compilers ^caliper~gotcha~sampler~libunwind~libdw~papi" \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what' the meaning of these ~? Is that the list of tpls we are actually building? couldn't this be that we build all of them by default? I might be missing something.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The first part %gcc@8+cuda~uncrustify~openmp~pygeosx
is the spec for GEOS. We are building using GCC 8 with cuda, but without uncrustify, openmp or pygeosx.
The last part^caliper~gotcha~sampler~libunwind~libdw~papi
means that we are building Caliper with the gotcha, sampler, libunwind, libdw, and papi options turned off.
This PR attempts to build dependencies using uberenv, spack.
Relates to GEOS-DEV/GEOS#3039
Relates to GEOS-DEV/LvArray#318